#ifndef PROCESS_H
#define PROCESS_H
class CGraphicsManager;
class CFontManager;
#include "Camera\Camera.h"
#include "Base.h"
class CProcess
{
	public:
		CProcess								(void): m_bRenderDebugInfo(false), m_Camera(0){}
		virtual			~CProcess				(void);
		virtual void	Init					()		=	0;
		virtual void	DeInit					()		=	0;
		virtual void	RenderScene				(CGraphicsManager *l_GraphicsManager, float l_DeltaTime)		=	0;
		virtual void	RenderScene2D			(CGraphicsManager *l_GraphicsManager, CFontManager *l_FontManager, float l_DeltaTime)		=	0;
		virtual void	Update					(float l_DeltaTime)	=	0;
		virtual	uint32	RenderDebugInfo			(CGraphicsManager *l_GraphicsManager, CFontManager *l_FontManager, float l_fps);
		virtual	void	ChangeRenderDebugInfo	() {m_bRenderDebugInfo = !m_bRenderDebugInfo;}
		CCamera*		GetCamera				() {return m_Camera;}
		void			SetCamera				(CCamera *l_Camera) {m_Camera=l_Camera;}
	private:
		bool	m_bRenderDebugInfo;
	protected:
		CCamera	*m_Camera;
};


#endif